package com.xuecheng.content.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.xuecheng.base.exception.ValidatedGroups;
import com.xuecheng.content.model.dto.SaveOrUpdateCourseTeacherDTO;
import com.xuecheng.content.model.po.CourseTeacher;
import org.springframework.validation.annotation.Validated;

import javax.validation.Valid;
import java.util.List;

/**
 * <p>
 * 课程-教师关系表 服务类
 * </p>
 *
 * @author 勾新杰
 * @since 2025-01-09
 */
@Validated
public interface ICourseTeacherService extends IService<CourseTeacher> {

    /**
     * 根据课程id查询教师信息
     * @param courseId 课程id
     * @return 教师信息
     */
    List<CourseTeacher> list(Long courseId);

    /**
     * 添加教师信息
     * @param saveCourseTeacherDTO 课程教师信息
     * @return 添加结果
     */
    @Validated(ValidatedGroups.Insert.class)
    CourseTeacher save(@Valid SaveOrUpdateCourseTeacherDTO saveCourseTeacherDTO);

    /**
     * 修改课程教师信息
     * @param updateCourseTeacherDTO 修改课程教师信息
     * @return 返回修改后的结果
     */
    @Validated(ValidatedGroups.Update.class)
    CourseTeacher update(@Valid SaveOrUpdateCourseTeacherDTO updateCourseTeacherDTO);

    /**
     * 删除课程教师信息
     * @param courseId 课程id
     * @param id 教师id
     */
    void remove(Long courseId, Long id);
}
